package com.atguigu.lease.web.app.mapper;

import com.atguigu.lease.model.entity.*;
import com.atguigu.lease.web.app.vo.apartment.ApartmentItemVo;
import com.atguigu.lease.web.app.vo.attr.AttrValueVo;
import com.atguigu.lease.web.app.vo.fee.FeeValueVo;
import com.atguigu.lease.web.app.vo.graph.GraphVo;
import com.atguigu.lease.web.app.vo.room.RoomDetailVo;
import com.atguigu.lease.web.app.vo.room.RoomItemVo;
import com.atguigu.lease.web.app.vo.room.RoomQueryVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
* @author liubo
* @description 针对表【room_info(房间信息表)】的数据库操作Mapper
* @createDate 2023-07-26 11:12:39
* @Entity com.atguigu.lease.model.entity.RoomInfo
*/
public interface RoomInfoMapper extends BaseMapper<RoomInfo> {


    IPage<RoomItemVo> customListPage(IPage<RoomItemVo> page, RoomQueryVo queryVo);

    RoomDetailVo customRoomDetailVoById(Long id);

    Page<RoomItemVo> customListPageById(IPage<RoomItemVo> page, Long id);

    List<GraphVo> graphVoList(Long id);

    List<AttrValueVo> attrValueVoList(Long id);

    List<FacilityInfo> facilityInfoList(Long id);

    List<LabelInfo> labelInfoList(Long id);

    List<PaymentType> paymentTypeList(Long id);

    List<FeeValueVo> feeValueVoList(Long id);

    List<LeaseTerm> leaseTermList(Long id);
    ApartmentItemVo apartmentItemVo(Long id);
}